<template>
  <div class="list">
    <van-list
      v-model="loading"
      :finished="finished"
      finished-text="没有更多了"
      @load="onLoad"
    >
      <div v-for="(item, index) in list" :key="index">
        <h4>{{ item.name }}</h4>
        <div class="singer">
          <span v-for="(album, index) in item.singer" :key="index">
            {{ album.name }}
            <span v-show="index != item.singer.length - 1">/</span>
          </span>
          <span v-show="item.album">
            <span>·</span>
            <span>{{ item.album.name }}</span>
          </span>
        </div>
      </div>
    </van-list>
  </div>
</template>
<script>
export default {
  props: ["singermid"],
  data() {
    return {
      list: [],
      loading: false,
      finished: false,
      page: 1,
    };
  },
  onLoad() {
    setTimeout(() => {
      this.getData();
      this.loading = true;
    }, 1000);
  },
  created() {
    this.getData(this.singermid, 1, 30);
  },
  methods: {
    getData(id, page, num) {
      this.$request(
        "get",
        "/singer/songs?singermid=" + id + "&page=" + page + "&num=" + num
      ).then((res) => {
        console.log(res);
        this.list = this.list.concat(res.data.list);
        this.loading = false;
        this.page++;
        if (res.data.list.length == 0) {
          this.finished = true;
        }
      });
    },
  },
};
</script>

<style scoped>
.list {
  margin: 0 1rem;
}
.list h4 {
  text-align: left;
  font-size: 1rem;
}
.singer {
  text-align: left;
}
.singer span {
  font-size: 0.8rem;
  color: rgb(160, 160, 190);
}
.singer > span:nth-last-child(1) > span:nth-child(1) {
  color: red;
  font-weight: 900;
  padding: 0 0.5rem;
}
</style>